package cn.com.bluemoon.daps.system.service;

import cn.com.bluemoon.daps.system.dto.SysPageDto;
import cn.com.bluemoon.daps.system.dto.SysUserAddDto;
import cn.com.bluemoon.daps.system.dto.SysUserUpdateDto;
import cn.com.bluemoon.daps.system.entity.DapSysUser;
import cn.com.bluemoon.daps.system.vo.DapSysUserVo;
import cn.com.bluemoon.daps.system.vo.SysUserVo;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author admin
 * @since 2022-12-19
 */
public interface DapSysUserService extends IService<DapSysUser> {

    /**
     * 分页查询用户信息
     * @param pageDto
     * @return
     */
    IPage<DapSysUserVo> userPage(SysPageDto pageDto);

    /**
     * 根据ID获取用户信息
     * @param id
     * @return
     */
    SysUserVo getUserById(Long id);

    /**
     * 新增用户
     * @param dto
     * @return
     */
    boolean addUser(SysUserAddDto dto);

    /**
     * 修改用户
     * @param dto
     * @return
     */
    boolean updateUser(SysUserUpdateDto dto);

    /**
     * 根据ID删除用户
     * @param id
     * @return
     */
    boolean deleteUser(Long id);

    /**
     * 根据ID重置用户密码
     * @param id
     * @param pwd
     * @return
     */
    boolean resetPwd(Long id, String pwd);

    /**
     * 用户修改密码
     * @param oldPwd
     * @param newPwd
     * @return
     */
    boolean changePwd( String oldPwd, String newPwd);

}
